import axios from "axios";
const httpInstance = axios.create({
    baseURL: getBaseUrl(),
    timeout: 5000,
    headers: {
        "Content-Type": "application/x-www-form-urlencoded",
    }
})


// 获取对应的baseUrl
function getBaseUrl() {
    let baseURL = '';
    if (import.meta.env.MODE === 'production') {  // 表示在生产环境时使用下面的baseURL
        baseURL = 'http://localhost:8888'
    } else {
        baseURL = 'http://localhost:8888'       // 如果在开发环境使用下面的baseURL
    }
    return baseURL;
}

// 请求拦截器
httpInstance.interceptors.request.use((config) => {
    const token = localStorage.getItem('token');
    if (token) {    // 如果token有值
        // 在请求头上携带token的值，每次发送网络请求时后台都需要验证是否是本人，token是否过期等
        config.headers["X-Token"] = token;   
    }
    return config;
}, (err) => {
    // 请求拦截失败
    return Promise.reject(err);
})

// 响应拦截器
httpInstance.interceptors.response.use((res) => {
    // 响应拦截成功
    return res;
}, (err) => {
    // 响应拦截失败
    return Promise.reject(err);
})
export default httpInstance;